// Generated from antlr/tscn.g4 by ANTLR 4.9.0-SNAPSHOT


import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";

import { FileContext } from "./tscnParser";
import { SectionContext } from "./tscnParser";
import { Section_headerContext } from "./tscnParser";
import { AttributeContext } from "./tscnParser";
import { Property_Context } from "./tscnParser";
import { InstanceContext } from "./tscnParser";
import { DictionaryContext } from "./tscnParser";
import { PairContext } from "./tscnParser";
import { ArrayContext } from "./tscnParser";
import { ValueContext } from "./tscnParser";


/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `tscnParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export interface tscnVisitor<Result> extends ParseTreeVisitor<Result> {
	/**
	 * Visit a parse tree produced by `tscnParser.file`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitFile?: (ctx: FileContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.section`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitSection?: (ctx: SectionContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.section_header`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitSection_header?: (ctx: Section_headerContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.attribute`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitAttribute?: (ctx: AttributeContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.property_`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitProperty_?: (ctx: Property_Context) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.instance`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitInstance?: (ctx: InstanceContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.dictionary`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitDictionary?: (ctx: DictionaryContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.pair`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitPair?: (ctx: PairContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.array`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitArray?: (ctx: ArrayContext) => Result;

	/**
	 * Visit a parse tree produced by `tscnParser.value`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitValue?: (ctx: ValueContext) => Result;
}

